home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 2 / CU Amiga Magazine's Super CD-ROM 02 (1996)(EMAP Images)(GB)[!][issue 1996-04].iso / magazine / amiga_e / jrh-rkrm-partone / resources / get_filesys.e < prev    next >
Text File  |  1995-04-08  |  1KB  |  39 lines

  1. -> Get_Filesys.e - Example of examining the FileSysRes list
  2.  
  3. OPT PREPROCESS
  4.  
  5. MODULE 'exec/lists',
  6.        'exec/nodes',
  7.        'resources/filesysres'
  8.  
  9. DEF filesysresbase:PTR TO filesysresource
  10.  
  11. PROC main()
  12.   DEF fse:PTR TO filesysentry, x
  13.   -> NOTE - you should actually be in a Forbid while accessing any system list
  14.   -> for which no other method of arbitration is available.  However, for this
  15.   -> example we will be printing the information (which would break a Forbid
  16.   -> anyway) so we won't Forbid.  In real life, you should Forbid, copy the
  17.   -> information you need, Permit, then print the info.
  18.   IF NIL=(filesysresbase:=OpenResource(FSRNAME))
  19.     WriteF('Cannot open \s\n', FSRNAME)
  20.   ELSE
  21.     fse:=filesysresbase.filesysentries.head
  22.     WHILE fse.ln.succ
  23.       -> An A3000 running V34 does not have the name field filled in.
  24.       -> An A2000 running V34 with an A590/2091 controller also does not have
  25.       -> the name field filled in.
  26.       IF fse.ln.name THEN WriteF('Found filesystem creator: \s\n', fse.ln.name)
  27.  
  28.       WriteF('                 DosType: ')
  29.       FOR x:=24 TO 8 STEP -8 DO Out(stdout, Shr(fse.dostype,x) AND $FF)
  30.  
  31.       Out(stdout, (fse.dostype AND $FF)+$30)
  32.  
  33.       WriteF('\n                 Version: \d', Shr(fse.version, 16))
  34.       WriteF('.\d\n\n', fse.version AND $FFFF)
  35.       fse:=fse.ln.succ
  36.     ENDWHILE
  37.   ENDIF
  38. ENDPROC
  39.